/*
 * 文件名：CommonConfigServiceImpl.java 描述： 修改人：Administrator 修改时间：2016年5月10日 跟踪单号： 修改单号： 修改内容：
 */

package com.zcsy.manage.service.base.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zcsy.commons.unique.UniqueNumberUtils;
import com.zcsy.manage.model.base.CommonConfig;
import com.zcsy.manage.persistence.base.CommonConfigDao;
import com.zcsy.manage.service.base.ICommonConfigService;

/**
 * @Title: CommonConfigServiceImpl.java
 * @Package： com.zcsy.manage.service.base.impl
 * @Description: 配置信息service层实现类
 * @author xujl
 * @Copyright: 2016 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2016年5月10日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
@Service
public class CommonConfigServiceImpl implements ICommonConfigService {

    @Autowired
    private CommonConfigDao dao;

    /*
     * (non-Javadoc)
     * @see
     * com.zcsy.manage.service.base.ICommonConfig#update(com.zcsy.manage.model.base.CommonConfig)
     */
    @Override
    public int update(CommonConfig config) {
    	CommonConfig oldConfig = dao.selectByPrimaryKey(config.getId());
    	
    	oldConfig.setLabel(config.getLabel());
    	oldConfig.setCellId(config.getCellId());
    	oldConfig.setUnit(config.getUnit());
    	oldConfig.setValue(config.getValue());
    	oldConfig.setMemo(config.getMemo());
    	oldConfig.setUpdatePerson(config.getUpdatePerson());
    	oldConfig.setUpdateTime(config.getUpdateTime());
    	
        return dao.update(oldConfig);
    }

    /*
     * (non-Javadoc)
     * @see com.zcsy.manage.service.base.ICommonConfig#selectByPrimaryKey(java.lang.String)
     */
    @Override
    public CommonConfig selectByPrimaryKey(String id) {
        return dao.selectByPrimaryKey(id);
    }

    /*
     * (non-Javadoc)
     * @see com.zcsy.manage.service.base.ICommonConfig#getAllList()
     */
    @Override
    public List<CommonConfig> getAllList() {
        return dao.getAllList();
    }

    /*
     * (non-Javadoc)
     * @see com.zcsy.manage.service.base.ICommonConfig#getByName(java.lang.String)
     */
    @Override
    public CommonConfig getByName(String name) {
        return dao.getByName(name);
    }

    /*
     * (non-Javadoc)
     * @see
     * com.zcsy.manage.service.base.ICommonConfigService#selectByKeyword(com.zcsy.manage.model.
     * base.CommonConfig)
     */
    @Override
    public List<CommonConfig> selectByKeyword(CommonConfig record) {
        return dao.selectByKeyword(record);
    }
    @Override
    public Integer getIntegralMaxValueOfCell (String description) {
        
        // 根据唯一标识name获取“每日积分上限”的小区配置信息
        CommonConfig commonConfig = dao.getByName(description);
        // 用户当天可加积分之和的上限
        if(null != commonConfig) {
            return Integer.valueOf(commonConfig.getValue());
        }
        return null;
    }

    @Override
    public int insert(Integer configType,String label,String name,String value,String cellId) {
        
        CommonConfig commonConfig = new CommonConfig();
        
        commonConfig.setId(UniqueNumberUtils.get18UniqueNumber());
        commonConfig.setConfigType(configType);
        commonConfig.setLabel(label);
        commonConfig.setName(name);
        commonConfig.setValue(value);
        commonConfig.setCellId(cellId);
        return dao.insert(commonConfig);
    }
    
    @Override
    public int insertValueOfInteger(Integer configType,String label,String name,Integer value,String cellId) {
        
        CommonConfig commonConfig = new CommonConfig();
        
        commonConfig.setId(UniqueNumberUtils.get18UniqueNumber());
        commonConfig.setConfigType(configType);
        commonConfig.setLabel(label);
        commonConfig.setName(name);
        commonConfig.setValue(value.toString());
        commonConfig.setCellId(cellId);
        return dao.insert(commonConfig);
    }

}
